FIG. 1 shows an example video distribution infrastructure 100 for packet-based video using the internet protocol (IP). Residential equipment 140 includes A/V equipment 148 which receives a video stream from Set Top Box (STB) 146, which video stream is formed from video payload content of IP packets streaming through a residential gateway 144 which is coupled to a service interface 142. Other IP equipment, such as a wireless local area network (WLAN) 150 may share gateway 144, and for troubleshooting purposes, a technician may bring packet capture equipment 147, such as Wireshark software, to determine the cause of a problem in the network. Each delivery media type may include a service interface 142, examples of which are a DSL modem for Digital Subscriber Loop carried on a telephone twisted pair, a cable modem when the backbone media is a distributed coaxial cable television, or a fiber adapter for optical fiber media. Other service interface types may be used, including fiber interface, or any physical layer which allows a network connection to a high speed backbone. Since the various delivery media aggregate to a central distribution point, aggregator 132 concentrates the data streams of the various customers specific to each media type, such as a central switching office (CO) for telephone DSL, cable delivery infrastructure for cable TV coax, or other aggregation equipment 132, which is connected to a high speed backbone to internet routing distribution 130 through switches and routers which interconnect to other remote locations. One of the functions of STB 146 is buffering of the video stream carried by the IP packets, or local storage of previously transmitted content such as in a digital video recorder (DVR) function of the STB 146. Residential Gateway 144 also operates as a customer firewall, allowing locally initiated TCP connections to external devices and protecting internal local networks such as wireless local area network (WLAN) 150, with the residential gateway 144 allowing incoming connections which are associated with internally generated requests from STB 146 and WLAN 150, and filtering undesired internet traffic from external IP traffic sources such as intruder and exploit sources. Residential gateway 144 may use a variety of different physical media providing a physical connection to a high speed data source, such as video coaxial cable, twisted pair digital subscriber loop (DSL), or optical fiber. In one type of video distribution configuration, nearby branch video services 110 houses an authentication server 118 which acts as a firewall to interconnected equipment inside the branch video services 110, and video application servers 116 authenticate set top box 146 requests and provide the wide range of video services, including video on demand (VOD) servers 124, as will be described.
In the configuration shown in FIG. 1, a viewer may select a particular video-on-demand program to view through a selection interface provided by the STB 146 and displayed on the A/V display 148, using a media control program such as Minerva®, or any other suitable media control software operative on STB 146. The Mediaroom executable program instructions reside on the STB 146 and are executed by a central processor unit (CPU), which then sends a request for the requested content through an associated interface, which request is routed through the Residential Gateway 144 through the Service Interface 142 to aggregation point 132, where the request is delivered for service by Branch Video Services 110. Authentication server 118 acts as a firewall to authenticate incoming requests to ensure the only requesters are registered STB 146 equipment. Requests from STB such as 146 are passed from authentication server 118 to a variety of video application servers 116 which authenticate the request, verify the subscriber has access rights, and provide credentials for the STB to make a subsequent content request to a video source, some of which video sources may be local in branch services 110, or the request for content may be serviced by a resource within backend video sources 122, such as stored video source 112 for video on demand with delivery commonly provided using the Transmission Control Protocol (TCP) of the Internet Protocol (IP) or from live video source 114 with delivery commonly provided as User Datagram Protocol (UDP) packets, which TCP or UDP packets are thereafter directly delivered to the requesting STB 146 through connections and/or IP destination addresses which were established from the STB to the particular video source using request parameters provided by video application servers 116. Branch video services 110 may be replicated and distributed through the network either with region-specific content, or for balancing network resource demands, one example of which is shown in replicated branch 120 with authentication server 128, video application server 126, and VOD servers 124. Other residential equipment 152 may be coupled to aggregator 132, and other aggregators 133 may be coupled to residential equipment 154, 160, which may contain similar equipment as was shown for residential equipment 140.
There are several methods for requesting and delivering content in FIG. 1. In one method, the STB 146 receives program guides from one of the branch video application servers 116, or a video on demand (VOD) server 124, or the video application servers 116 authenticate and pass the request to the STB for direct delivery through the internet cloud of routers 130 to remotely located servers 112 and 114.
As can be seen from the many steps of content delivery in FIG. 1, there are many individual steps involved in processing a request from a STB which results in the delivery of video content, with several single point of failure nodes and combinations of conditions which result in failure to deliver requested content. Any one of the many elements of FIG. 1 may not be working optimally, overloaded with requests or traffic, or improperly configured or improperly operating. The user experience when any of these conditions occur is complete loss of service and an urgent telephone call to the provider of the video on demand. Additionally, it is time consuming for the provider to determine the source of the particular problem, or the overall scope of the problem other than by judging from the number of customer complaints received, and the provider would additionally like to troubleshoot problems during times of minimal use, or perform network monitoring to determine overall network health and address performance issues before they begin to effect customers.
Each element of request processing and handling involves a server with an associated event log, and the processing of a request occurs sequentially involving many servers, each of which needs to correctly complete its processing before the request is passed to the next server in the sequence, and each of the servers maintains a log of transactions based on servicing each request. One of the primary reasons that it is challenging to troubleshoot and identify problems in a distributed network with sequential requests such as a video server infrastructure is the sheer number of such logs, the high number of transactions per unit time which are recorded in them, and the need to review the contents of each log in detail to identify the source of a performance problem or failure. It is desired to provide an automated and flexible system for identifying failures and to provide high value distilled performance information using the wide variety of logs and event messages which may be gathered and processed.